CANFD诊断(DoCAN)数据链路层和网络层的一点理解 您所在的位置:网站首页 how to do等于什么什么can CANFD诊断(DoCAN)数据链路层和网络层的一点理解

CANFD诊断(DoCAN)数据链路层和网络层的一点理解

2024-01-12 20:17| 来源: 网络整理| 查看: 265

本文主要参考 ISO 15765-2 Road vehicles — Diagnostic communication over Controller Area Network (DoCAN) —Part 2:Transport protocol and network layer services

CANFD和CAN在数据链路层和网络层诊断相关的一些区别总结。

数据链路层

CAN-FD数据段字节数可能为1-8, 12, 16, 20, 24, 32, 48 ,64,字节数由DLC字段决定,如表7所示。

当DLC<8时,要求CAN DLC总是设置为8,未使用的字节填充为特定值CCh(根据实际情况,有些OEM会自定义填充55h)。

当DLC>8且要传输的N_PDU字节数不等于表7中定义的DLC值时,未使用的字节填充为特定值CCh(根据实际情况,有些OEM会自定义填充55h)。

ECU使用标准帧11 位CAN 标识符CAN 数据帧或扩展帧29 位CAN 标识符CAN 数据帧。支持两种诊断报文格式:物理寻址及功能寻址,功能寻址CAN标识符使用0x7DF.

CAN-FD帧的BRS(Bit Rate Switch)位作为波特率转换开关,仲裁段传输波特率不变时,可以调高数据段的传输波特率。

DLC(Dec)

CAN_DL(bytes)(Dec)

CAN-FD CAN_DL(bytes)(Dec)

0

0

0

1

1

1

2

2

2

3

3

3

4

4

4

5

5

5

6

6

6

7

7

7

8

8

8

9

8

12

10

8

16

11

8

20

12

8

24

13

8

32

14

8

48

15

8

64

网络层

网络层数据单元为N-PUD(protocal data unit),格式如下:

Address Information

地址信息

Protocol control information

协议控制信息

Data field

数据场

N_AI

N_PCI

N_Data

其中,N_PCI用来标识N_PDU的类型,其字节定义如下:

N_PDU名称

N_PCI字节

Byte#1

Byte#2

Byte#3

Byte#4

Byte#5

Byte#6

Bits7-4

Bits3-0

SF(CAN_DL≤8)

0000

SF_DL

_

_

_

_

_

SF(CAN_DL>8)

0000

0000

SF_DL

_

_

_

_

FF(FF_DL≤4095)

0001

FF_DL

_

_

_

_

FF(FF_DL>4095)

0001

0000

0000 0000

FF_DL

CF

0010

SN

_

_

_

_

_

FC

0011

FS

BS

STmin

N/A

N/A

N/A

*1.CAN_DL>8时,使用转义序列将第一字节的低4位设置为0,表示SF_DL的值取决于第二字节,仅适用于CAN-FD帧;

2.当FF_DL>4095时,使用转义序列将第一字节低4位和第二字节全部设置为0,表示SF_DL的值取决于后面的32bits(Byte#3为MSB,Byte#6为LSB);

3.短划线“_“仅代表不在N-PCI使用,取决于PDU的定义,这些字节有可能会在数据段使用。

单帧传输

网络层定义了长数据传输格式,发送消息小于62个数据字节时(正常寻址),可通过发送一个网络层协议数据单元,称之为单帧(SF)。

CAN_DL≤8允许的SF_DL值

寻址方式

CAN_DL值

0-1

2

3

4

5

6

7

8

正常寻址

无效

SF_DL

=1

SF_DL

=2

SF_DL

=3

SF_DL

=4

SF_DL

=5

SF_DL

=6

SF_DL

=7

混合寻址或扩展寻址无效无效

SF_DL

=1

SF_DL

=2

SF_DL

=3

SF_DL

=4

SF_DL

=5

SF_DL

=6

 2.CAN_DL>8允许的SF_DL值

寻址方式

CAN_DL值

12

16

20

24

32

48

64

正常寻址

8≤SF_DL

≤10

11≤SF_DL

≤14

15≤SF_DL

≤18

19≤SF_DL

≤22

23≤SF_DL

≤30

31≤SF_DL

≤46

47≤SF_DL

≤62

混合寻址或扩展寻址

7≤SF_DL

≤9

10≤SF_DL

≤13

14≤SF_DL

≤17

18≤SF_DL

≤21

22≤SF_DL

≤29

30≤SF_DL

≤45

46≤SF_DL

≤61

多帧传输

长消息的传输是通过将消息分段并发送多个N_PDU来完成的。接收较长的消息是通过接收多个N_PDU并重组接收到的数据字节来完成的。这多个N_PDU分别被称为首帧First Frame (FF) (用于消息的第一个N_PDU) 和连续帧Consecutive Frame(CF)(用于后续所有N_PDU)。

传输序号SN(Sequence Number)用来表示连续帧CF的递增排序,对于首帧FF,SN定义为0,其后的连续帧SN依次加1递增直至15(Dec),然后下一轮的连续帧CF的SN值从0开始直至15(Dec),循环往复。

    接收方通过流控帧FlowControl(FC)告诉发送方其接收数据的能力,通过FS(FlowStatus)表示发送方是否可以继续传输数据,发送方应支持所有定义的FC参数。

​​​​​​​

 

通过BS(BlockSize)来表示发送方在等待接收方许可传输后续N_PDU前可以传输的最大数量的N_PDU。如果BS设置为0,代表发送方无需等待即可发送剩余的N_PDU。通过STmin(Separation Time minimum)来表示发送方在两帧CF N_PDU之间需要等待的最小时间间隔。

FS(FlowStatus)参数定义

数值(hex)

描述

0

继续发送(ContinueToSend, CTS)

1

等待(Wait)

2

溢出(Overflow)

3-F

保留(Reserved)

BS(BlockSize)参数定义

数值(hex)

描述

00

告知发送方本次数据发送过程,后续已无FC帧,网络层发送实体无需等待即可发送剩余所有的CF帧

01-FF

告知发送方在接收方FC帧发送前被允许传输的最大CF帧数量

STmin(Separation Time minimum)参数定义

数值(hex)

描述

00-7F

0ms-127ms, 精度为1ms

80-F0

Reserved

F1-F9

100us-900us, 精度为100us

FA-FF

Reserved



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有